<template>
  <div class="html1_13">
    <h1>1.14 HTML5 地理定位</h1>
      <div class="html1_13_1">
        <h2>1.13.1 使用地理定位</h2>
        <p>
          <pre>
            HTML5 Geolocation API 用于获得用户的地理位置。鉴于该特性可能侵犯用户的隐私，除非用户同意，否则用户位置信息是不可用的。
注释：对于拥有 GPS 的设备，比如 iPhone，地理定位更加精确。
请使用 getCurrentPosition() 方法来获得用户的位置。
下例是一个简单的地理定位实例，可返回用户位置的经度和纬度。
实例：
 &lt;p id="Location"> 点击这个按钮， 获得您的位置： &lt;/p>
    &lt;button onclick="getLocation()"> 试一下 &lt;/button>
    &lt;div id="mapholder"> &lt;/div>   
    &lt;script>
        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition);
            } else {
                x.innerHTML = "Geolocation is not supported by this browser.";
            }
        }
        function showPosition(position) {
            x.innerHTML = "Latitude: " + position.coords.latitude +
                "&lt;br />Longitude: " + position.coords.longitude;
        }
    &lt;/script>
          </pre>
        </p>
         <img src="../assets/images/2.56.png" alt="">
         <p></p>
         <p>
           <pre>
             例子解释：
检测是否支持地理定位。如果支持，则运行 getCurrentPosition() 方法。如果不支持，则向用户显示一段消息。如果getCurrentPosition()运行成功，则向参数showPosition中规定的函数返回一个coordinates对象。showPosition() 函数获得并显示经度和纬度。
上面的例子是一个非常基础的地理定位脚本，不含错误处理。
           </pre>
         </p>
      </div>
      <div class="html1_13_2">
        <h2>1.13.2 处理地理定位错误</h2>
        <p>
          <pre>
getCurrentPosition() 方法的第二个参数用于处理错误。它规定当获取用户位置失败时运行的函数：
实例：
&lt;p id="demo">点击这个按钮，获得您的坐标：&lt;/p>
    &lt;button onclick="getLocation()">试一下&lt;/button>
    &lt;script>
        var x = document.getElementById("demo");
        function getLocation() {
            if (navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(showPosition, showError);
            } else {
                x.innerHTML = "Geolocation is not supported by this browser.";
            }
        }
        function showPosition(position) {
            x.innerHTML = "经度: " + position.coords.latitude +
                "&lt;br />纬度: " + position.coords.longitude;
        }
        function showError(error) {
            switch (error.code) {
                case error.PERMISSION_DENIED:
                    x.innerHTML = "User denied the request for Geolocation."
                    break;
                case error.POSITION_UNAVAILABLE:
                    x.innerHTML = "Location information is unavailable."
                    break;
                case error.TIMEOUT:
                    x.innerHTML = "The request to get user location timed out."
                    break;
                case error.UNKNOWN_ERROR:
                    x.innerHTML = "An unknown error occurred."
                    break;
            }
        }
&lt;/script>
          </pre>
        </p>
         <img src="../assets/images/2.57.png" alt="">
         <img src="../assets/images/2.58.png" alt="">
         <img src="../assets/images/2.59.png" alt="">
         <p></p>
         <p>
           <pre>
             错误代码：
Permission denied - 用户不允许地理定位
Position unavailable - 无法获取当前位置
Timeout - 操作超时
           </pre>
         </p>
      </div>
      <div class="html1_13_3">
        <h2>1.13.3 指定地理定位选项</h2>
        <p class="t">表2-14 </p>
        <table border="1px">
          <tr>
            <th>属性</th>
            <th>描述</th>
          </tr>
          <tr>
            <td>coords.latitude</td>
            <td>十进制数的纬度</td>
          </tr>
          <tr>
            <td>coords.longitude</td>
            <td>十进制数的经度</td>
          </tr>
          <tr>
            <td>coords.accuracy</td>
            <td>位置精度</td>
          </tr>
          <tr>
            <td>coords.altitude</td>
            <td>海拔，海平面以上以米计</td>
          </tr>
          <tr>
            <td>coords.altitudeAccuracy</td>
            <td>位置的海拔精度</td>
          </tr>
          <tr>
            <td>coords.heading</td>
            <td>方向，从正北开始以度计</td>
          </tr>
          <tr>
            <td>coords.speed</td>
            <td>速度，以米/每秒计</td>
          </tr>
          <tr>
            <td>timestamp</td>
            <td>响应的日期/时间</td>
          </tr>
        </table>
      </div>
      <div class="html1_13_4">
        <h2>1.13.4 监控位置</h2>
        <p>
          <pre>
            watchPosition() - 返回用户的当前位置，并继续返回用户移动时的更新位置（就像汽车上的 GPS）。
clearWatch() - 停止 watchPosition() 方法
下面的例子展示 watchPosition() 方法。您需要一台精确的 GPS 设备来测试该例（比如 iPhone）：
实例：
&lt;script>
var x=document.getElementById("demo");
function getLocation()
  {
  if (navigator.geolocation)
    {
    navigator.geolocation.watchPosition(showPosition);
    }
  else{x.innerHTML="Geolocation is not supported by this browser.";}
  }
function showPosition(position)
  {
  x.innerHTML="Latitude: " + position.coords.latitude +
  "&lt;br />Longitude: " + position.coords.longitude;
  }
&lt;/script>
          </pre>
        </p>
      </div>
  </div>
</template>

<script>
export default {

}
</script>

<style>

</style>